using List_study;

namespace Class_and_Struct_study;

// 继承基类 实现接口都是 :
class Test : BaseClass
{
    // 可为 Null 的字段的声明
    string? Name;
    // int Age;

    // 同 Java 构造函数重载
    // 同Java 默认的无参构造函数仅在 无显式构造函数的情况下 提供
    public Test() { }
    public Test(string name)
    {
        Name = name;
    }
    // 仅有基类中 virtual 声明的函数可由 override 重写
    public override void talk()
    {
        // 重写的派生类函数内仍可通过 base 访问基类
        base.talk();
        Console.WriteLine("这是派生类的 talk");
    }
}

class BaseClass
{
    // 基类函数须 virtual 声明
    public virtual void talk()
    {
        Console.WriteLine("这是基类的 talk");
    }
}
